package com.example.candiates.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.util.Date;

/**
 * `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '候选人唯一ID',
 *   `name` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT '候选人姓名',
 *   `gender` int(11) DEFAULT NULL COMMENT '性别（1男 2女）',
 *   `email` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '电子邮箱(用于联系)',
 *   `phone` varchar(20) COLLATE utf8mb4_general_ci NOT NULL COMMENT '联系电话',
 *   `position` varchar(20) COLLATE utf8mb4_general_ci NOT NULL COMMENT '应聘职位',
 *   `experience` int(11) DEFAULT NULL COMMENT '工作经验(年)',
 *   `graduate_school` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '毕业院校',
 *   `skills` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '技能标签(逗号分隔)',
 *   `resume_path` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '上传简历存储路径',
 *   `notes` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注信息',
 *   `interview_status` int(11) DEFAULT '1' COMMENT '面试状态 1未开始 2面试中 3面试完成',
 *   `interview_result` int(11) DEFAULT '1' COMMENT '面试结果 0未通过 1待定 2通过',
 *   `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 *   `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
 */

@Data
@TableName("interview_candidates")
public class InterviewCandidates {
    @TableId(type = IdType.AUTO)
    private Integer id;
    
    private String name;
    
    private String gender;
    
    private String email;
    
    private String phone;
    
    private String position;
    
    private String experience;
    
    @TableField("graduate_school")
    private String graduateSchool;
    
    private String skills;
    
    @TableField("resume_path")
    private String resumePath;
    
    private String notes;
    
    @TableField("interview_status")
    private Integer interviewStatus;
    
    @TableField("interview_result")
    private String interviewResult;
    
    @TableField("created_at")
    private Date createdAt;
    
    @TableField("updated_at")
    private Date updatedAt;
}
